package com.shujia.scala

object Demo6Fun {
  def main(args: Array[String]): Unit = {

    /**
      * 函数式编程   高阶函数   将函数传来传去
      * 1、以函数作为参数
      * 2、以函数作为返回值
      *
      * 函数的类型  ：由参数类型和返回值类型决定
      */


    def fun(f: String => String): Unit = {
      val str = f("数加")
      println(str)
    }

    def fun1(str: String): String = {
      str + "学院"
    }

    def fun2(str: String): String = {
      str + "科技"
    }

    fun(fun1)
    fun(fun2)

  }

}
